package com.xscha.soyue.common.doc.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * swagger 配置属性
 *
 * @author Vondser
 */
@Data
@ConfigurationProperties(prefix = "springdoc")
public class SpringDocProperties {

	/**
	 * 文档基本信息
	 */
	private InfoProperties info = new InfoProperties();

	/**
	 * <p>
	 * 文档的基础属性信息
	 * </p>
	 *
	 * 为了 springboot 自动生产配置提示信息，所以这里复制一个类出来
	 */
	@Data
	public static class InfoProperties {

		/**
		 * 标题
		 */
		private String title = null;

		/**
		 * 描述
		 */
		private String description = null;

		/**
		 * 联系人信息
		 */
		private Contact contact = null;

		/**
		 * 许可证
		 */
		private License license = null;

		/**
		 * 版本
		 */
		private String version = null;

		/**
		 * 服务条款URL
		 **/
		private String termsOfService = "";

	}

	@Data
	public static class Contact {

		/**
		 * 联系人
		 **/
		private String name = "";

		/**
		 * 联系人url
		 **/
		private String url = "";

		/**
		 * 联系人email
		 **/
		private String email = "";

	}

	@Data
	public static class License {

		/**
		 * 联系人
		 **/
		private String name = "";

		/**
		 * 联系人url
		 **/
		private String url = "";

	}

}